Detecting Fair Non-termination in Multithreaded Programs
نویسندگان
چکیده
We develop compositional analysis algorithms for detecting nontermination in multithreaded programs. Our analysis explores fair and ultimatelyperiodic executions—i.e., those in which the infinitely-often enabled threads repeatedly execute the same sequences of actions over and over. By limiting the number of context-switches each thread is allowed along any repeating action sequence, our algorithm quickly discovers practically-arising non-terminating executions. Limiting the number of context-switches in each period leads to a compositional analysis in which we consider each thread separately, in isolation, and reduces the search for fair ultimately-periodic executions in multithreaded programs to state-reachability in sequential programs. We implement our analysis by a systematic code-to-code translation from multithreaded programs to sequential programs. By leveraging standard sequential analysis tools, our prototype tool MUTANT is able to discover fair non-terminating executions in typical mutual exclusion protocols and concurrent data-structure algorithms.
منابع مشابه
Universit a Di Pisa Exists-universal Termination of Logic Programs 9-universal Termination of Logic Programs
We introduce the notion of 9-universal termination of logic programs. A program P and a goal G 9-universally terminate ii there exists a selection rule S such that every SLD-derivation of P fGg via S is nite. We claim that it is an essential concept for declarative programming , where a crucial point is to associate a terminating control strategy to programs and goals. We show that 9-universal ...
متن کاملContext-Bounded Analysis of Multithreaded Programs with Dynamic Linked Structures
Bounded context switch reachability analysis is a useful and efficient approach for detecting bugs in multithreaded programs. In this paper, we address the application of this approach to the analysis of multithreaded programs with procedure calls and dynamic linked structures. We define a program semantics based on concurrent pushdown systems with visible heaps as stack symbols. A visible heap...
متن کاملGoblint : PATH - SENSITIVE DATA RACE ANALYSIS 1
We present Goblint, a static analyzer for detecting potential data races in the multithreaded C code. The implemented analysis is sound on a “safe” subset of C and sufficiently efficient to be used for race-detection of multithreaded programs up to about 25 thousand lines of code. It uses a global invariant approach to avoid the state space explosion problem and is both contextand path-sensitive.
متن کاملiReplayer: In-situ and Identical Record-and-Replay for Multithreaded Applications
Reproducing executions of multithreaded programs is very challenging due to many intrinsic and external non-deterministic factors. Existing RnR systems achieve significant progress in terms of performance overhead, but none targets the in-situ setting, in which replay occurs within the same process as the recording process. Also, most existing work cannot achieve identical replay, which may pre...
متن کاملKalpa Publications in Computing
Gossip protocols deal with a group of communicating agents, each holding some private information, and aim at arriving at a situation in which all the agents know each other secrets. Distributed epistemic gossip protocols are particularly simple distributed programs that use as guards formulas from an epistemic logic. We showed recently that the implementability of these distributed gossip prot...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2012